package edu.zjut.hjg.saas.biz.dao;

import java.util.List;

import edu.zjut.hjg.saas.biz.model.Activity;
import edu.zjut.hjg.saas.biz.support.Paginated;

public interface ActivityDao {
    Activity load(Integer id);

    Activity findByIdAndAppId(int id, int appId);

    Integer create(Activity activity);

    void deleteByIdAndAppId(int id, int appId);

    void deleteByAlbumIdAndAppId(int albumId, int appId);

    Paginated<Activity> listByAlbumIdAndAppId(int albumId, int appId, int pageSize, int page);

    Paginated<Activity> listAll(int pageSize, int page);

    List<Activity> listAllByAlbumIdAndAppId(int albumId, int appId);

    List<Activity> listByLimitAndAppId(int limit, int appId);

    List<Activity> listByLimit(int limit);

    List<Activity> listFirstsGroupByAlbumIds(List<Integer> albumIds);
}
